科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件标准C程式库--标准样版库-向量样版

标准C程式库--标准样版库-向量样版

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

。由於 STL 是 C++ 语言定义的一部份,因此使用 STL 的程式应该享有高度可植性,因为任何标榜支援 " 标准C++" 的编译程式都必须提供 STL 实作。

来源:中国软件网 2008年3月31日

关键字: 样版 向量 C++ C Linux

  • 评论
  • 分享微博
  • 分享邮件

过去几年以来,C++ 程式语言的标准语言定义程序经历了一个大改变。此标准化程序便是标准资料结构库的产生,此程式库通常称为「标准样版库」( Standard Template Library ) 或 STL 。由於 STL 是 C++ 语言定义的一部份,因此使用 STL 的程式应该享有高度可植性,因为任何标榜支援 " 标准C++" 的编译程式都必须提供 STL 实作。

叠代字只是一种类似指标的物件,可以用来循环存取容器中的所有元素。由於不同的演算法需要以个种不同的方式来游历容器,因此有各种不同的叠代子形式。标准样版库中的每个容器类都提供一种叠代子,适合和实作容器所用的储存技巧配合使用。

标准样版库中的向量 ( vector ) 资料型态将一维阵列的观念一般化。向量抽象有许多方面比传统阵列强,例如可以在执行过程中增加或减少群集的大小。要使用 ( vector ) 资料型态,程式设计师首先必须引入 : #include 

宣告和初始化向量
就如同阵列一般,向量的宣告需加入资料型别,我们也利用一些技巧来宣告二维向量。

vector<资料型别> 名称(建构字参数);

vector arr_float(20)    // 20 为长度

vector arr_int( 10 , 0)    // 10 为长度,0为初值

vector < vector< int> >    // > > 中间要有空格,不然编译器会当作 >> 运算子 

Top

向量标
[ ]    重载了[ ] 运算子,使它具有存取向量内其中一个元素。例:s4[2]

at    它和上列那一个功能几乎一样,除了它可以丢出一个例外(out_of_range),当指定指大於或等於 size 时。

front    传回第一个元素。

back    传回最後一个元素。

Top

长度运算与更改大小的运算
size    传回一个整数值,指出目前元素的个数。

capacity    传回缓区的大小。

max_size    可配置元素最大围。

reserve    改变缓区的元素的个数。

empty    如果向量大小为 0 ,则传回 true (无向量的容量是多少)

resize    改变元素的个数,并将初值填上,例:v.resize( 20 , 17 );    // 元素为 20 个 初值为 17

Top

插入和删除
push_back    将一个元素到向量的最後面。例:vec_five.push_back(21);         // 将 21 加入到向量的最後面

pop_back    取得最後一个元素值。

insert    将新元素插入叠代子之後。

erase    移除单一元素或移除一个围。例:vec_five.erase(where);  or  
vec_five.erase (iterator begin, iterator end);

Top

向量叠代子
begin    传回一个指向起点的叠代子。

end    传回一个指向终点的叠代子。

rbegin    传回一个指向反转起点的叠代子。

rend    传回一个指向反转终点的叠代子。

Top

布林向量
在标准 C++ 样版库中布林向量是一个特别的方案。为布林向量样版库中加入一个特别的函式。也加入一个新的函式。

vector bvec(27);        file://宣告

flip    将元素中所有的位元反转。bvec.flip();     // 反转所有的元素

swap    交换两个值,例:bvec.swap(bvec [17], bvec [16]);

    • 评论
    • 分享微博
    • 分享邮件
    闂傚倷绶¢崣搴ㄥ窗閺囩偐鏋庨柕蹇嬪灪婵ジ鏌曡箛瀣偓鏍綖閿燂拷

    濠电姷顣介埀顒€鍟块埀顒€缍婇幃妯诲緞閹邦剛鐣洪梺闈浥堥弲婊勬叏濠婂牊鍋ㄦい鏍ㄧ〒閹藉啴鏌熼悜鈺傛珚鐎规洘宀稿畷鍫曞煛閸屾粍娈搁梻浣筋嚃閸ㄤ即宕㈤弽顐ュС闁挎稑瀚崰鍡樸亜閵堝懎濮┑鈽嗗亝濠㈡ê螞濡ゅ懏鍋傛繛鍡樻尭鐎氬鏌嶈閸撶喎顕i渚婄矗濞撴埃鍋撻柣娑欐崌閺屾稑鈹戦崨顕呮▊缂備焦顨呴惌鍌炵嵁鎼淬劌鐒垫い鎺戝鐎氬銇勯弽銊ф噥缂佽妫濋弻鐔碱敇瑜嶉悘鑼磼鏉堛劎绠為柡灞芥喘閺佹劙宕熼鐘虫緰闂佽崵濮抽梽宥夊垂閽樺)锝夊礋椤栨稑娈滈梺纭呮硾椤洟鍩€椤掆偓閿曪妇妲愰弮鍫濈闁绘劕寮Δ鍛厸闁割偒鍋勯悘锕傛煕鐎n偆澧紒鍌涘笧閹瑰嫰鎼圭憴鍕靛晥闂備礁鎼€氱兘宕归柆宥呯;鐎广儱顦伴崕宥夋煕閺囥劌澧ù鐘趁湁闁挎繂妫楅埢鏇㈡煃瑜滈崜姘跺蓟閵娧勵偨闁绘劕顕埢鏇㈡倵閿濆倹娅囨い蹇涗憾閺屾洟宕遍鐔奉伓

    重磅专题
    往期文章
    最新文章